


My Other Half

by Kaoru_chibimaster



Category: Kingdom Hearts
Genre: Alternate Universe - Modern Setting, Fluff, M/M, Meet-Cute, SoRoku Week, Soulmate-Identifying Marks, Soulmates
Language: English
Status: Completed
Published: 2020-02-13
Updated: 2020-02-15
Packaged: 2021-02-27 19:06:55
Rating: General Audiences
Warnings: No Archive Warnings Apply
Chapters: 3
Words: 4,493
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/22700698
Author URL: https://archiveofourown.org/users/Kaoru_chibimaster/pseuds/Kaoru_chibimaster
Summary: Thursday Prompt: When they said soulmates could meet anywhere, they truly meant *anywhere*.Friday Prompt: Some confessions came at the most unexpected moments.Saturday Prompt: Life went on as normal nowadays. They just went through it together now.
Relationships: Roxas/Sora (Kingdom Hearts)
Comments: 4
Kudos: 56





	1. Soulmates

**Author's Note:**

> I had nothing in mind for the first part of soroku week so here’s something short and sweet for the last 3 days. If you’re looking for a long, drawn out slowburn, this ain’t it son. It’s just pure fluff.

“I’ll have…hmm…”

Tapping his chin in thought, Sora squinted over his options on the menu. He wasn’t so bad at speaking the language up north, but reading was still a bit of a challenge for him. The letters were all so small and weird…and squiggly. Why were they so squiggly?

He wouldn’t say it out loud, but he thought his native language read a lot better.

Maybe he was a little bias though. Just a little.

Besides, he’d moved up to Twilight Town for a job opportunity, so like it or not, he was stuck with this language. And the lady at the counter was waiting a little impatiently, arms crossed as her fingers tapped irately against her own bicep and her teal eyes narrowed in aggravation.

Sora sent her a sheepish grin in hopes that she wouldn’t get too miffed at him, before returning his attention to the menu.

“I think… Um…” What even was some of this stuff? Their specials had the weirdest names.

‘Grandstander Grande? ‘Sunset Smash’? They didn’t even have pictures…

“Do you guys have burgers…?” he tried. The poor cashier seemed more than a little fed up with him, what with the heavy, exasperated sigh she let loose.

“Do you just want a burger and fries?” she huffed.

“And a shake?”

“ _And_ a shake.”

Nodding eagerly, Sora pulled out his wallet and started counting bills. Crisp and yellow and newly exchanged.

“That’ll be ~~M~~ 1950.”

And not enough.

“Oh man…” Sora sighed. He had a grand total of ~~M~~ 1000\. A lot of munny had gone into transportation and food for his new apartment. He was only really even here because he wanted something quick just after getting off work. Didn’t really feel like cooking, after all.

Something’d have to go then. He couldn’t just leave after wasting the cashier’s time.

“I guess I’ll just do the burg—”

“Wait,” someone cut in.

Surprised at the sudden interruption, Sora peeked back at the owner of said voice.

He was a good-looking fella. More than good-looking, even. All sunshine blond, windswept hair and bright blue eyes—eyes that reminded Sora of home. Around the same height as Sora and decked out in a baggy black hoodie and white jeans, carrying a skateboard under his arm. Likely around Sora’s age too, somewhere in the eighteen-to-twentyish range.

He looked a bit miffed, actually. Probably because he’d been standing behind Sora, waiting for him to make his order, but there was something else that seemed…off.

Not in a bad way, but just _different_. It was hard to tell what, though. He’d stepped up and pushed Sora to the side a bit, pulling out his own wallet and digging out a couple of bills, and Sora couldn’t linger on what was different about the guy when he was floundering at the sight of him handing munny to the cashier.

“Let me just pay for it. He’s holding up the line anyway.”

“Wha—You don’t have to—” Sora stuttered, flustered and warm in the face where he was sure he was blushing. Mostly in embarrassment. No one had ever had to pay for him just to get him out of the way before.

“Too late, I already did,” the far-too-kind stranger said, turning to face Sora fully.

Wait…

His face. That was…

Oh.

“Ursokuuthacc,” he mumbled in wonder, earning a highly confused grimace in return.

“Uh…what?”

But Sora couldn’t pay that any mind. Not when he spotted the mark on this stranger’s left cheek…if he could even be called a stranger anymore.

It was half of a heart; so pale blue that it nearly passed for platinum and curved softly so that it cradled the cheekbone and curled along the jawline. A natural, _personal_ part of the skin.

Its other half adorned Sora’s right cheek.

No two marks were ever the same…unless shared between soulmates.

_Oh_.

“What’s your name?” he asked, voice airy and distracted as he let this new information sink in.

“Uh… Roxas?” His soulmate, Roxas, answered with an upward inflection, as if he wasn’t sure of the answer. As if he was still confused.

Sora would clear that right up.

Smiling, he turned his face so that the right side was prominent and tapped at his cheek. It wasn’t hard to miss the realization that lit up in Roxas’ eyes.

“… _Holy shit_.”

“Ahem,” the cashier interrupted, face flushed a bit with annoyance when Sora turned back to her. “Can you take your little meeting elsewhere? Now you’re _both_ holding up the line.”

Sheepishly, both Sora and Roxas glanced at the line building up behind them, finding a mixture of tired annoyance and endeared grins looking back at them.

“Hang on,” Roxas mumbled, smiling bemusedly as he turned back towards the lady. “I still haven’t made my order yet.”

“Ugh. I already know what _you_ want. Pay me and beat it. Go be mushy somewhere else.”

Despite the harsh words, Roxas didn’t seem to mind. He handed her another bill, chuckling.

“I see you’re in a good mood, Larx. We’ll be out of your way.”

Grumbling, “Larx” accepted the payment and waved them off, calling the next customer up. Sora was still a little too starstruck though. He just met his soulmate. _His soulmate!_

His soulmate who was currently pushing him towards the tables by his shoulders.

“You’re kind of a space case, you know that?”

Letting out a shaky, startled laugh, Sora could only nod absentmindedly as he tried to process what was happening. Of all the times and of all the places, he would just so happen to find his soulmate at a burger joint after having held him up in a line. It was borderline hysterical the more Sora thought about it.

Suddenly, he was thankful he took the chance to move to Twilight Town when he did.

“I…get that a lot…” he trailed off almost dreamily. Still floating on clouds at this idea that this was really happening. That he was lucky enough to meet the person who completed his mark; who completed _him_.

He wanted to know all about Roxas. He wanted to know what sort of person he was, what he liked to do, where he liked to go, what he liked to eat, etcetera.

He wanted to know what his life was like in Twilight Town. What his dreams were.

Whether he was excited to meet Sora as Sora was to meet him.

“We should be friends!” Sora dropped, rather suddenly admittedly, before Roxas even had a chance to speak further.

“Oh, uh…” Clearly caught off guard, Roxas rubbed the back of his neck and chewed his lip. “Sure, I guess. I mean, we _are_ soulmates. I guess it’d just be natural…”

Would it? Sora found himself laughing a little nervously at Roxas’ words.

He didn’t really know what ‘natural’ was when it came to meeting one’s soulmate. Until now, he’d never done so before. Was it even proper etiquette to ask to become friends? Did Roxas _want_ to?

Was he hoping for something more?

Such a thing wasn’t uncommon with soulmates, but it wasn’t required. One would think being with their other half meant they had to be involved romantically, but Sora knew for a fact that it didn’t always turn out this way. Some soulmates stayed friends their whole lives. Some didn’t even go that far; hell, some just outright didn’t like each other.

It wasn’t like, well…

Sora wasn’t _opposed_ to something romantic, but he just met Roxas. They could stand to walk before they ran.

So he held out his hand.

“Nice to meet you, Roxas. My name’s Sora.”

Roxas smiled back, something small and quirky and lopsided, and Sora decided he liked the look of it, before grasping Sora’s hand and shaking it firmly.

“Nice to meet you, Sora.”

They spent the better part of the evening talking over burgers and fries.


	2. Love Confession

It’d started out as friendship.

Actually, it’d started as a great friendship. Sora hadn’t expected to get so close with Roxas so fast. Somehow they just gravitated towards each other: every morning it’d be the texts, every lunch break they’d send each other silly memes in hopes of raising spirits, every evening they found the time to meet up just to hang out, and every night Sora could look forward to a diligent “good night” in his messages. Roxas went to bed pretty early and woke up at the crack of dawn for classes, only to go straight to work after. It made him far busier than Sora, having skipped the extra schooling as his job didn’t require it, ever had to be, so they didn’t spend a lot of free time together outside of the weekends. But what little they did was dear to Sora; more so than he ever imagined it would be with someone he’d only known for a couple months by now.

They’d formed a routine that was easy to stick to and it created a sense of normalcy that Sora clung to, still feeling a bit out of his element so far from home. Roxas had wormed his way so effortlessly into Sora’s life that he’d become a natural part of it. He couldn’t imagine his days now without the daily texting and the odd few hours spent together.

Even now, when there was a bit of a lull in their schedules and Sora managed to snag some time with Roxas, Sora couldn’t see himself spending his weekend any other way.

It wasn’t anything super special: they were laid out over Roxas’ couch playing video games. Sora was half-situated under Roxas (because it wasn’t exactly a big couch), tapping away at his controller despite the fact that he had no clue what he was doing—he was a racing game kinda guy and fighting games stumped him pretty fiercely. Roxas was extra concentrated because of course he knew the game inside and out and was determined to win.

Not that he had to really put that much effort into it. He was already winning by default.

He was making faces too; cute ones that Sora was certain Roxas wasn’t even aware of. Eyebrows scrunched and mouth set in a concentrated frown as his tongue poked out a little. The purely adorable image that he created blindsided Sora to the point where he barely even realized he was looking at Roxas more than he was the game.

He couldn’t help it though. Roxas was just so _cozy_.

It was something about these days… Something about being able to just lay back and relax, not allowing themselves to worry about schedules and deadlines and schoolwork and work-work. No one breathing down their necks about anything (aside from Roxas’ roommates complaining that he and Sora were couch-hogs, but it wasn’t as if Hayner or Pence were in the living room anyway). Half sunk into couch cushions and decked out gloriously in t-shirts and pajama pants, Sora and Roxas were the image of comfortable. It was almost as much of a marvel as Roxas was.

And that was what tripped Sora up.

Thoughts like that one right there. Errant and almost inappropriately reverent. Sora was fixated.

More than that, he figured he might be a little bit smitten.

But that was how soulmates worked, right? He figured they were supposed to be each other’s perfect match, so it was only obvious that this would lead to feelings like these.

Except it wasn’t. It wasn’t obvious at all.

It’d crept up on Sora with gentle, prodding fingers and whispers in his ears. He’d grown so used to his time with Roxas that he hadn’t even noticed the transition from feelings of friendship to something more. Hadn’t even _suspected_.

Well, here he was now, getting his ass kicked in video games as the sudden realization that he might have a crush on Roxas hit him at full force.

Great.

“Uh…are you okay?”

Blinking out of his reverie, Sora felt his face flush a little when it hit him that he might’ve been staring a little _too_ intensely at Roxas.

“…Yeah?”

Roxas’ eyes narrowed, his lips pursed, and the controller slipped from his fingers: the image of suspicious disbelief.

“That didn’t sound like an okay ‘yeah’. What’s wrong?”

He was sitting up now, and Sora wanted to smack himself when his eyes slid down to catch the sliver of skin from where his shirt was riding up a bit because now he was blushing _harder_.

“I’m…I’m okay. I’m just, uh…” It took a hard swallow to force this lie out. “I’m a little tired I guess.”

He was wide awake. Spacing out over Roxas wasn’t the same as falling asleep on him.

That, and he was pumped full of enough soda to fuel the entire city.

“What, are you crashing? I told you not to chug all that strawberry pop. No wonder I’ve been kicking your ass.”

No, that was just a vast difference in skill.

Well, okay. A vast difference in skill and Sora’s lack of attention on anything other than Roxas. He didn’t think he could really be blamed for that.

Anyone would be blindsided by the realization that they were crushing on their new best friend.

“…Yeah,” Sora shrugged, not sure what else to say. It worked, he supposed. He wasn’t crashing either—rarely did he ever—but it was easier to just agree than to let on that he was feeling _things_.

Unfortunately for him, Roxas was perceptive. And he could read Sora like an open book.

“That’s not it, is it?” he asked after a short pause. The sort where it was clear he was trying to see past the already faulty façade Sora had put up.

Best to give the game up and just smile it off then. Everyone left him alone when he smiled. They figured everything was okay and Sora was fine with that. He wanted it that way.

“Don’t worry about it, Rox—”

“ _No_ ,” he interrupted in a sharper tone than Sora had expected. “Don’t leave me hanging on these things. If you need help, _tell me_. We’re friends after all, right? I wanna help.”

Right. Friends. Just friends.

Despite the wash of disappointment that Sora tried desperately to quell, or maybe because of it, Sora found himself unable to hold his tongue as his frustration started flooding out.

“I just…you ever wonder what it’s like to share a deeper bond with your soulmate? You know…romantically?”

Roxas turned a bit pink at that, chewing his lip and running his fingers through his hair as a number of emotions crossed his face.

“Are you asking this for the reason I think you are?”

“Uh.” Caught red handed. “Just…answer the question first.”

Sighing, Roxas let his hand drop as he nodded.

“Yeah. I’ve thought about it.”

“And? How do you feel about it?”

His eyes met Sora’s then, clear and open and honest. Lit up only in the dim glow of the tv.

“I think it depends on each person. Not every soulmate pair has to be like that—”

“I get it,” Sora interrupted. He didn’t want to hear more. He didn’t think he could handle it. “You’re right. Not everyone is like that.”

“You didn’t let me finish,” Roxas said impatiently.

Eyebrow raised, Sora decided to hear him out.

“You asked what I think about it in general, not what I think about us,” he continued. There was something about that that made Sora’s skin tingle in anticipation. Something about the way he said ‘us’.

“And? What do you think about us?” Sora asked, soft and quiet in anticipation. He was barely breathing, straining to listen past the sound of his own pulse in his ears and the jump in his heartbeat.

Especially when Roxas smiled.

“I think it’s about time you said something. I was starting to sweat. Didn’t know how to say it myself,” he laughed. It seemed almost _nervous_. Brow creased in embarrassment and cheeks flushed. That same quirky smile wobbly with worry.

A far cry from the festival’s worth of elation buzzing in Sora’s mind.

There was no way. There couldn’t be. Roxas couldn’t seriously be saying he liked Sora back _that way_.

But he was. He was!

It took a lot of fumbling and having to pull his legs out from under Roxas without completely dislodging him from the couch, but Sora’d managed to free himself enough to launch himself at Roxas. He was met with a jostled grunt and flailing limbs but he could barely find it in himself to let up. Not when he had his arms wrapped tightly around Roxas, face buried in his hair. His smile was genuine this time; so wide that it nearly hurt. Hands shaking as they gripped into Roxas’ shirt, feeling the warmth of Roxas’ skin through his own clothes when he was hugged back.

“Is it okay,” he started, smiling when Roxas giggled at Sora’s breath tickling his hair. “if I say ‘I love you’?”

He wondered if it was maybe too soon. It’d only been a couple of months, after all.

But to Sora, that might as well have been a lifetime.

Roxas hummed and hugged him tighter, and Sora could feel his heart squeezing.

“Only if it’s okay for me to say it back.”


	3. Established Relationship

“ _Leeet’s Struggle!_ ”

The eardrum-bursting sounds of celebratory screaming filled the sandlot, echoing off of the walls and creating a wall of pure sound that vibrated so hard, Sora could feel it in his chest. Not that he was any better. He might’ve been screaming the loudest, sure to give his utmost support.

Roxas was in the ring today. He’d made a big deal of signing up as early as humanly possible for the end-of-season Struggle match, and even then he’d only just made it in. Having missed last year’s and the year before’s deadlines, he’d been so gungho about it that he hadn’t even been sleeping properly lately.

It was worrying at first, and maybe just a bit irritating as his tossing and turning kept Sora up too, but in the end it’d paid off. Now here he was in the semi-finals, facing off against Seifer. The man had a nasty attitude and a tendency to play the “bad cop” routine in inappropriate situations, so even Sora could admit he was looking forward to seeing Seifer get knocked around some.

He wouldn’t admit that out loud though. Instead, he’d continue cheering Roxas on while he worked his way up the ranks.

“There you are!”

Mid-clap, Sora turned to see Roxas’ friends pushing through the crowd towards him. Not that Sora hadn’t ended up fast friends with them himself, and he found he was smiling wider when they joined him.

“I thought we were supposed to meet up by the benches,” Hayner huffed. Sora was barely able to make his voice out over the crowd.

“I kinda got pushed up here,” he shouted back. There’d been so many people gathered around the benches that Sora had gotten swept up by the sea of people. It’d worked out a little, he supposed. He could see Roxas closer from here (though he couldn’t exactly see him _better_ when he was surrounded by much taller people).

“I’m surprised you’re down here,” he continued. When he was by the benches, Hayner had been up in the ring himself.

“He came back to mope about losing,” Pence laughed. Disgruntled, Hayner shoved at him.

“ _Did not!_ ”

Olette, as was typical, ignored them both with a roll of her eyes and stepped up close to Sora so they could speak without shouting.

“Either way, I’m glad we found you. We were thinking of ways to celebrate when Roxas wins. Figured we could all brainstorm together.”

“You sure we wanna ask Sora?” Hayner grinned playfully, still locked in a mock fight with Pence. They’d resorted to smacking at each other comically, and Sora couldn’t stop the laugh that slipped out at the sight.

“What? Hayner why wouldn’t we ask Sora?” Olette sighed.

“His idea of congratulations might be _way_ different from ours. Just throwing it out there now, but _I_ ain’t kissing Roxas.”

“Count me out too,” Pence added, sticking his tongue out at the idea.

Chuckling, Sora shook his head at them both as Olette covered her face with a palm.

“Don’t worry, I can handle the kissing part. What else did you guys have in mind?”

Their answers were cut off by thunderous cheering, and Sora looked up to see Seifer throwing his Struggle bat to the concrete floor, cursing loudly and making dramatic gestures at Roxas.

Roxas who watched him smugly, wiping the sweat from his brow as the ref called his win.

“ _Alright, folks!_ ” the announcer started. “ _We’re moving into the finals now! Having broken Seifer’s winning streak, our returning Struggler Roxas is up against the three-year champion Setzer—_ ”

The rest of what he had to say was drowned out by Setzer’s fan club shrieking his name, but Sora, Hayner, Pence and Olette were diligent clapping and cheering for Roxas. Sora hoped Roxas could hear their support. He knew Roxas could do this. He’d been practicing day and night, studying his opponents’ weaknesses in videos taken of past tournaments, and had pumped himself up for this so much that it’d even gotten difficult for him to focus on schoolwork. Thankfully, the actual tournament took place in the middle of spring break, and the next wouldn’t be until the end of summer break.

“He’s got this in the bag,” Hayner spoke up, crossing his arms and grinning. Pence nodded along.

“Seifer was the real challenge. He actually takes this seriously. Setzer’s too concerned with looking cool to really put all his effort in.”

“Yup,” Olette agreed. “He’s skilled but he doesn’t actually do anything with it. As long as Roxas doesn’t get hit, he’ll win.”

Even Sora could attest to that. He’d never actually joined in on a Struggle match, though he’d been itching to but he wouldn’t take that entry spot from Roxas, but just having watched matches, either on video or in person, he could see where Setzer’s flaws were. He tried too hard to make a spectacle out of a match. He often played with his opponents, getting potshots in and letting his fan club demoralize them before jumping in for the win at the last minute. And he hit like a truck when he was serious, so his methods usually guaranteed him the win.

Except Roxas knew this like the back of his hand by now. He was determined up in that ring, watching every move Setzer made with an eagle eye. He paid no mind to any outside voices, fully focus on his opponent alone. Every potshot was dodged and retaliated, earning him a slowly growing collection of Setzer’s Struggle Orbs that he could use to beat the clock with.

And the final blow that Setzer was always so reliant on.

“ _Setzer goes in for a powerful strike_ ,” the announcer says. “ _and—oh! Roxas times a dodge perfectly and catches him in the back!_ ”

The crowd was going wild again, filled with screams and cheers and even Setzer’s fan club booing (and Sora sent a mental ‘boo’ right back at them for being poor sports) as the rest of the match played out perfectly in Roxas’ favor. His reprisal had thrown Setzer off kilter, allowing Roxas to land a good number of hits that depleted Setzer of a good three/fourths of his Struggle Orbs. Even when he’d gotten himself back to getting, even managing to get in a good swipe at Roxas’ side that had Sora flinching—he was gonna find a bruise there later, he just knew it—and earning a few of his Orbs back, the timer outpaced him. He had considerably less Orbs than Roxas.

Roxas won.

“ _We have a new Struggle Champion!_ ”

Sora was sure he and the other three were screaming the loudest now, clapping exuberantly and hooting and hollering. Roxas stood up on the ring, grinning widely as the ref handed him a champion’s belt and a trophy adorned with colorful jewels. And when he stepped down from the ring, people flocked him to shake his hand or pat his back. It was endearing to watch, but Sora couldn’t help the warm happiness that filled his gut when Roxas caught his eyes and started making a beeline for him.

Hayner, Pence and Olette got to him first.

“Bout time someone kicked Seifer’s ass,” Hayner said, arm around Roxas’ neck and fist against his head as he started to noogie him. He only let up when Roxas finally pushed him off, setting the trophy down while Pence ruffled his hair and Olette hugged him.

“Yeah except it only counted when it was Setzer,” Roxas laughed.

“Who cares about Setzer. He’s so snooty you could jump him in an alleyway and he’d only raise his pinky finger.”

“Hayner,” Olette rolled her eyes again, though her smile marred the reprimand. “Setzer’s methods might be terrible, but he did fight fair. At least give him that.”

“Sure, whatever,” Hayner waved her off, earning laughter from Roxas and Pence.

It was when Roxas held out his arms for Sora that he figured it was his turn to shower some praise. Smiling, he stepped into the hug and looped his own arms around Roxas’ shoulders, feeling a tight squeeze around his waist in return.

“Congrats, Struggle Champ,” Sora mumbled against Roxas’ skin, close enough to his ear that he knew he could hear. Roxas pulled back just enough to press their foreheads together instead, expression soft.

“Can’t say I did it alone. Thanks for practicing with me.”

“You bet.” He wouldn’t say out loud that it gave him some good practice too. Maybe next tournament he would enter. Make it a friendly competition.

Instead he kept quiet and leaned closer.

True to his word, Sora handled the kissing part. He planted a couple of delighted smooches on Roxas’ lips, earning just as many back as well.

“Oh great, now they’re being mushy,” Hayner mumbled in the background. There was a grunt that followed, likely from someone elbowing him.

“Guess we don’t have to handle the celebration then,” Pence laughed.

Right! Speaking of celebration…

“We were planning on congratulating your win. Anything you have in mind?”

“That’s an easy one,” Roxas sighed jokingly, still grinning widely. “I’m starving. Anything involving food works for me.”

“True, food does sound like a good way to celebrate,” Sora nodded sagely, earning a playful nudge.

“It does…for the most part.”

“For the most part?”

The look Sora got in response was the sort that was typically reserved for private settings, and it had his entire body humming in anticipation.

“We can have our own personal celebration when we get home,” Roxas elaborated.

The perfect way to end the day, as far as Sora was concerned.


End file.
